package com.mtask.task.core.action;

import com.mtask.common.entity.base.BaseEntity;
import com.mtask.task.core.action.impl.CallbackTaskAction;
import com.mtask.task.core.action.impl.NotifyTaskAction;
import com.mtask.task.core.action.impl.ReportTaskAction;
import com.mtask.task.core.action.impl.AbstractTaskAction;
import lombok.Getter;

@Getter
public enum ActionEnum {

    REPORT("email", new ReportTaskAction()),
    CALLBACK("callback", new CallbackTaskAction()),
    NOTIFY("notify", new NotifyTaskAction());

    protected AbstractTaskAction<? extends BaseEntity> action;
    protected String name;

    ActionEnum(String name, AbstractTaskAction<? extends BaseEntity> action) {
        this.name = name;
        this.action = action;
    }

}

